#ifndef ENTITIES_UNIT_H
#define ENTITIES_UNIT_H

#include "entities/entity.h"

class Unit:public Entity{
    public:
        Unit();
        Unit(int owner);

        virtual void Update(int dt);
        virtual void EndTurn();
        virtual EntityType GetType(){ return ET_UNIT; }

        void AddOrder(std::string order){ orders.push_back(order); }
        std::vector<std::string> GetOrders(){ return orders; }
        std::string GetOrder( int i ){ return orders.at(i); }
        int NumOrders(){ return orders.size();}

        void SetCanSettle( bool can ){ canSettle = can; }
        bool CanSettle(){ return canSettle; }

        bool IsCombatUnit(){ if(soldiers>0) return true; else return false; }
        void SetSoldiers( int num ){ soldiers = num; }
        int GetSoldiers(){ return soldiers; }

    private:
        int selected;
        float movePoints;
        bool canSettle;
        int soldiers;
        int workRate;

        std::vector<std::string> orders;
};

#endif
